/*
 * 作者: 侯晓宇
 * 时间: 2017-02-17 
 * 说明：
 * Copyright (c) 2016-2017 中研沃兮
 */
define(function(require) {

	var c = require('app/utils/CommonUtils');
	var TimerUtils = require('app/utils/TimerUtils');
	var MsgInfoUtils = require('app/utils/MsgInfoUtils');
	var s = {};

	//audio
	var opt={};
	opt.need_go_on = false; //是否继续吓一跳录音
	opt.audio_stop = true; //录音是否停止标示，把它设置为false则自动停止
	opt.sec=0; //当前正在录制的语音秒速s
	
	opt.c_audio = {}; //录完之后的语音记录
	opt.c_audio.sec = 0; //录完之后的语音秒速
	opt.c_audio.path = ""; //录完之后的语音路径
	
	var temp_record_path = 'fs://record/audio_record_only_this.amr';
	
	s.isRecording = function(){
		return opt.sec != 0;
	}
	
	s.showtips = function(msg){
		$(".text-content-tips").html(msg);
	}
	
	
	s.resetRecord = function(){
		$(".btn_audio_operate_group").css("opacity","0");
		$("#audio_time").text(0);
		$(".btn_audio_group").hide();
		$("#btn_audio_record").show();
		
		opt.need_go_on = false; //是否继续吓一跳录音
		opt.audio_stop = true; //录音是否停止标示，把它设置为false则自动停止
		opt.sec=0; 
		opt.c_audio = {};
		
		this.showtips("录音会与上面幻灯片保持对应");
	
	}
	
	s.sendRecord = function(callback_func){
	
    	var msg = {
//  		content: opt.c_audio.path,
    		sec: opt.c_audio.sec +"",
    		type: 'audio'
    	};
    	s.resetRecord();
		callback_func(msg);
	}
	
	s.btn_audio_preview = function(){
		c.debug("btn_audio_preview:path",opt.c_audio);
		api.startPlay({
		    path: opt.c_audio.path
		}, function(ret, err) {
		    if (ret) {
		        alert('播放完成');
		    } 
		});
	}
	
	s.btn_audio_cancel = function(callback_func){
		
//		opt.need_go_on = false; //是否继续吓一跳录音
//		opt.audio_stop = false; 
		api.confirm({
			title: "温馨提示",
			msg: '是否取消本条录音？',
    		buttons: ['取消', '确定']
        },function(ret,err){
        	if(ret.buttonIndex == 2){ //取消本条录音
        		api.stopRecord(function(ret,err){
        			s.resetRecord();
        			
        			if(!c.isNull(callback_func)){
        				callback_func();
        			}
        		});
        	}
        });
        
	}
	
	s.stopRecord = function(callback_func){
		if(opt.sec <= 2){
			api.toast({
	            msg:'录音时间太短'
            });
            return;
		}
		s.showtips("发送后可再录制下一条");
		opt.audio_stop = true;
		opt.sec = 0;
		api.stopRecord(function(ret,err){
			if(!ret){
				return;
			}
			c.debug("api_stopRecord_callback:ret",ret);
			c.debug("api_stopRecord_callback:err",err);
			
			var sec = ret.duration;
			var path = ret.path;
			
			opt.c_audio = {};
			opt.c_audio.sec = sec;
			opt.c_audio.path = path;
	
			$(".btn_audio_group").hide();
			$("#btn_audio_send").show();
	
			$(".btn_audio_operate_group").css("opacity","0");
			$("#btn_audio_preview").css("opacity","1");
			$("#btn_audio_cancel").css("opacity","1");
			
//			if(opt.need_go_on){
//				s.sendRecord();
//				s.startRecord();
//			}

			if(!c.isNull(callback_func)){
				s.sendRecord(callback_func);
			}
			
			
		});
	}

	s.startRecord = function(callback_func){
		s.showtips("发送后可再录制下一条");
//		this.showtips("录满60秒将自动发送，并启动下一条录音");
		
		$(".btn_audio_operate_group").css("opacity","0");
		
			
		opt.audio_stop = false;
		opt.sec = 0;
		opt.need_go_on = false;
		
		api.startRecord({
		    path: temp_record_path
		});
		
		///启动定时器
		TimerUtils.startTimer(1000,function(){
			if(opt.sec == 60 || opt.audio_stop){
				if(opt.sec != 60){//未到60秒，通过audio_stop为true进行的停止，不能自动开启下一条语音
					opt.need_go_on = false;
				}else{//到了60秒，自动开启下一条语音
					opt.need_go_on = true;
					s.stopRecord(callback_func);
					
				}
				TimerUtils.stopTimer();
				return;
			}
			$("#audio_time").text(opt.sec);
			opt.sec = opt.sec + 1;
		});

		//更换图标
		$(".btn_audio_group").hide();
		$("#btn_audio_stop").show();
	}


	return s;
});